
<!-- 
1 2 4 3 

promise1: Promise {<pending>}
promise2: Promise {<pending>}
promise1:success promise2：error


then:success1

1 2

once success 1000  success 1000

then:error

1

fail2:error
 -->
<script>
// 1
// const promise=new Promise((resolve,reject)=>{
//     console.log(1)
//     resolve()
//     console.log(2)
// })
// promise.then(()=>{
//     console.log(3);
// })
// console.log(4);


// 2
//   const promise1 = new Promise((resolve, reject) => {
//     setTimeout(() => {
//       resolve("success");
//     }, 1000);
//   });
//   const promise2 = promise1.then(() => {
//     throw new Error("error!!!");
//   });
//   console.log("promise1", promise1);
//   console.log("promise2", promise2);

//   setTimeout(() => {
//     console.log("promise1", promise1);
//     console.log("promise2", promise2);
//   }, 2000);

// 3
// const promise=new Promise((resolve,reject)=>{
//   resolve('success1')
//   reject('error')
//   resolve('success2')
// })

// promise.then((res)=>{
//     console.log('then:',res);
// })
// .catch((err)=>{
//     console.log('catch:',err);
// })

// 5

const promise=new Promise((resolve,reject)=>{
    setTimeout(()=>{
        console.log('once');
        resolve('success')
    },1000)
})
const start=Date.now()
promise.then((res)=>{
    console.log(res,Date.now()-start);
})
promise.then((res)=>{
    console.log(res,Date.now()-start);
})

</script>